#Responsability:
#Wrapp and prepare all the paths needed for the model execution and file reader
#Why this is separated from the configuration?
#Because that is for each Project/Model execution, Configuration if for the whole program

PathsAndFiles <- setRefClass(    
  "pathsAndFiles"
  
  , fields = list(
      binPath="character",
      projectPath="character",
      projectFile="character",
      modelPath="character",
      outputFile="character"
    
  )
  , methods = list(
    #
    #
    # Constructor
    #
    #
    initialize = function(..., 
                          binPath = "",
                          projectPath = "", 
                          projectFile = "", 
                          modelPath = "",
                          outputFile = "")
    {
      #TODO: read paths and files from xml files. 
      #TODO: Override project file for set input and output in the same folder
      #TODO: make sure all the paths finish with / and dont start with it.
      #TODO: make sure files does not contain /
      callSuper(..., , 
                binPath = binPath,
                projectPath = projectPath, 
                projectFile = projectFile, 
                modelPath = modelPath,
                outputFile = outputFile)
    },
    #
    #
    # 
    #
    #
    getAbsoluteProjectPath <- function() {
      path <- paste(binPath,projectPath,sep="")
      path
    },
    #
    #
    #
    #
    #
    getAbsoluteProjectFile <- function() {
      projectFilePath <- paste(getAbsoluteProjectPath(), projectFile, sep="")
      projectFilePath
    }
    
  
    
    
    
  )#End methods List 
  
)#End RefClass
